package cn.harry.modular.achievement.domain;

import cn.harry.common.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.SqlCondition;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;

/**
 * 学术论文表
 *
 * @TableName achievement_academic_papers
 */
@EqualsAndHashCode(callSuper = true)
@TableName(value = "achievement_academic_papers")
@Data
public class AchievementAcademicPapers extends BaseEntity {

    /**
     * 封面
     */
    @Schema(description = "封面")
    private String cover;
    /**
     * 用户ID
     */
    @Schema(description = "用户ID")
    private Long userId;
    /**
     * 论文标题
     */
    @Schema(description = "论文标题")
    @TableField(condition = SqlCondition.LIKE)
    private String paperTitle;

    /**
     * 刊发日期
     */
    @Schema(description = "刊发日期")
    private String publicationDate;

    /**
     * 刊物名称
     */
    @Schema(description = "刊物名称")
    @TableField(condition = SqlCondition.LIKE)
    private String journalName;

    /**
     * 期刊类型
     */
    @Schema(description = "期刊类型")
    private String journalType;

    /**
     * 发行范围
     */
    @Schema(description = "发行范围")
    private String distributionScope;

    /**
     * 国内统一刊号（cn）
     */
    @Schema(description = "国内统一刊号（cn）")
    private String cnNumber;

    /**
     * 国际统一刊号(issn)
     */
    @Schema(description = "国际统一刊号(issn)")
    private String issnNumber;

    /**
     * 页码范围
     */
    @Schema(description = "页码范围")
    private String pageRange;

    /**
     * 刊发期数
     */
    @Schema(description = "刊发期数")
    private String issueNumber;

    /**
     * 论文字数（万）
     */
    @Schema(description = "文字数（万）")
    private BigDecimal paperWordCount;

    /**
     * DOI
     */
    @Schema(description = "DOI")
    private String doi;

    /**
     * 版面
     */
    @Schema(description = "版面")
    private String layout;

    /**
     * 是否翻译
     */
    @Schema(description = "是否翻译")
    private Integer isTranslated;

    /**
     * 论文语种
     */
    @Schema(description = "论文语种")
    private String paperLanguage;

    /**
     * 学科门类
     */
    @Schema(description = "学科门类")
    private String discipline;

    /**
     * 论文摘要
     */
    @Schema(description = "论文摘要")
    private String paperAbstract;

    /**
     * 作者
     */
    @Schema(description = "作者")
    private String author;

    /**
     * 附件
     */
    @Schema(description = "附件")
    private String attachment;
    /**
     * 下载次数
     */
    @Schema(description = "下载次数")
    private Integer downloadCount;

    /**
     * 状态 0 待审核 1 已审核 2 审核拒绝
     */
    @Schema(description = "状态 0 待审核 1 已审核 2 审核拒绝")
    private String state;

    /**
     * 文件内容
     */
    @Schema(description = "文件内容")
    private String content;

}